Not Applicable
Not Applicable
The present invention is related to communications in a computer network, and particularly to bypassing topological restrictions such as multicast group domains by employing tunnels.
Multicast protocols such as Distance Vector Multicast Routing Protocol (xe2x80x9cDVMRPxe2x80x9d), Multicast Open Shortest Path First (xe2x80x9cMOSPFxe2x80x9d), Core Based Trees (xe2x80x9cCBTxe2x80x9d), and Protocol Independent Multicast (xe2x80x9cPIMxe2x80x9d) that are employed to manage multicast communications among members of a multicast group are known. However, known multicast protocols can consume large amounts of network resources. DVMRP operates by flooding data which consumes network bandwidth. MOSPF requires routers to store records for all of the multicast groups that a device might possibly join. The number of records that must be stored becomes excessive in the case of devices that are connected with an extensive network such as the Internet. CBT and PIM employ a tree which consists of paths between member devices and a core device. The routers that reside along each path are required to maintain records that describe the path. Hence, the number of records that must be maintained is excessive along paths that employ a large number of routers.
Two types of multicast distribution trees are known. In unidirectional trees, which are illustrated in Prior Art FIG. 1, all links in the tree carry all data in only one direction. Therefore, in a unidirectional shared tree a member M other than the core C unicasts a packet to the Core C and then the packet is distributed along the tree. In contrast, in a bidirectional tree, as illustrated in Prior Art FIG. 2, any member M on the tree can inject the packet into the tree by transmitting on all of its ports that are associated with the tree, and any device on the tree that receives the packet on any of its ports that are associated with the tree forwards the packet onto all of its ports that are associated with the tree (except the port on which the packet was received).
It is known to limit the amount of resources that a multicast group consumes by imposing bounds on the group. For example, it is known to prevent the multicast group from extending beyond a predetermined xe2x80x9cdomain.xe2x80x9d Resources are conserved because only the routers that reside within the domain are required to maintain information about the group. Further, data is not flooded outside of the domain so that the multicast address of the domain can also be used by other, non-overlapping bounded domains. For example, if the domain boundaries were the countries Sweden and Denmark, there could be a multicast group with address A in Sweden and another multicast group with address A in Denmark. However, one problem associated with a bounded multicast group is that nodes outside the domain cannot join the multicast group. It would therefore be desirable to be able to bypass topological restrictions such as multicast group domains.
In accordance with the present invention, data units are tunneled to avoid topological or domain restrictions between a first network device and a second network device. In the case of a bounded multicast group, a remote network device that resides outside of the domain of the multicast group obtains access to the multicast group via a proxy device that resides within the domain. The proxy device functions as a member of the multicast group on behalf of the remote network device. Data units transmitted from the remote network device to the proxy device are tunneled to the multicast group via the proxy device. Data units transmitted from the multicast group to the proxy device are tunneled to the remote network device via the proxy device.
Use of the tunnel to obtain remote access to a multicast group advantageously permits remote access without compromising the efficiency provided by the bounded domain. Router devices that reside along the tunnel between the proxy and the remote device are not required to maintain state information. Further, single data units can be tunneled to a designated remote router device and then multicast to a group of remote network devices.
Tunnels can also be employed to facilitate communication in multicast groups in which some routers do not support bidirectional trees. Multicast groups can be represented with a tree structure that is stored in routers that reside in communication paths that are employed by members of the multicast group. A single, bidirectional tree requires less memory to store than a plurality of unidirectional trees. However, some network devices do not support establishment of bidirectional trees. Tunnels are employed to bypass the network devices that do not support bidirectional trees. For example, a bidirectional tunnel can be established from a first device that supports bidirectional trees, through a device that does not support bidirectional trees, to a second device that supports bidirectional trees to bypass the device that does not support bidirectional trees.